ACTOR "Riot Pig Cop" : " Pig Cop " 31069
{
    //$Category DN3D Aliens //Pig Cops
	Health 270
	Obituary "%o got some extra holes from a Riot Pig Cop."
	DropItem "Assault Shotgun" 32 12
	DropItem "Shotgun Ammo" 128 4
    DropItem " Armor " 2
    States
    {
    Spawn:
        RIPI A 0
        RIPI A 0 Thing_ChangeTID(0,1000)
        RIPI A 2 A_Look
        Loop
    See:
	    RIPI A 0
	    RIPI A 0 A_ChangeFlag("NOPAIN",0)
		RIPI A 0 A_StopSoundEx("SoundSlot7")		
		RIPI AABB 3 A_Chase
		RIPI B 0 A_SpawnItem("AlienStep2",0,0,0,0)
		RIPI CCDD 3 A_Chase
		RIPI D 0 A_SpawnItem("AlienStep2",0,0,0,0)
        Loop		
    Missile:
		RIPI E 0 A_Jump(96,"Missile2")
        RIPI E 14 A_FaceTarget
		RIPI E 0 A_PlayWeaponSound("AssaultShotgun/Shoot")
        RIPI F 5 Bright A_CustomBulletAttack(Random(9,8),Random(9,8),8,Random(6,7),"PigCopPuff",5000,CBAF_NORANDOM)
		RIPI F 0 A_Jump(64,"Pause")	
        RIPI E 8 A_CPosRefire
        Goto Missile+2		
	Missile2:	
		RIPI HI 8 A_FaceTarget
		RIPI I 0 A_PlayWeaponSound("AssaultShotgun/Shoot")
        RIPI J 5 Bright A_CustomBulletAttack(Random(8,9),Random(8,9),8,Random(6,7),"PigCopPuff",5000,CBAF_NORANDOM)
		RIPI I 0 A_Jump(64,"Pause2")	
        RIPI I 8 A_CPosRefire
        Goto Missile2+2	
	Pause:
	    RIPI E 8
	    Goto See
	Pause2:
	    RIPI IH 8 
	    Goto See
    Pain:
        RIPI Q 0
        RIPI Q 8 A_Pain
        Goto See
	Pain.LaserShot:
	    RIPI Q 0
		RIPI Q 0 A_SpawnItemEx("PainTripLaser",0,0,5)
		RIPI Q 0 HealThing(2)
		Goto See	
	Pain.Radial:
        RIPI Q 0
        RIPI Q 0 HealThing(2)
        Goto See
	Pain.Fire:
	    RIPF A 0
		RIPF A 0 A_GiveInventory("FireCheck",1)
		RIPF A 0 A_GiveInventory("FireCheckDeath",1)
		RIPF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		RIPF A 0 A_PlaySound("Pig/Pain",10)
		RIPF A 0 A_ChangeFlag("NOPAIN",1)
		RIPF A 0 A_ChangeFlag("FRIGHTENED",1)
		RIPF A 0 A_Wander
		RIPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF A 0 A_Wander
		RIPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF B 0 A_Wander
		RIPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF B 0 A_Wander
		RIPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF C 0 A_Wander
		RIPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF C 0 A_Wander
		RIPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF D 0 A_Wander
		RIPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF D 0 A_Wander
		RIPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        RIPF A 0 A_Wander
		RIPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF A 0 A_Wander
		RIPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF B 0 A_Wander
		RIPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF B 0 A_Wander
		RIPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF C 0 A_Wander
		RIPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF C 0 A_Wander
		RIPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF D 0 A_Wander
		RIPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF D 0 A_Wander
		RIPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		RIPF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		RIPF D 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop	
	PainFireStop:
	    RIPF A 0 
		RIPF A 0 A_ChangeFlag("NOPAIN",0)
		RIPF A 0 A_ChangeFlag("FRIGHTENED",0)
		RIPF A 0 A_TakeInventory("FireCheck",999)
		RIPF A 0 A_TakeInventory("FireCheckDeath",999)
		RIPF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:	
	    RIPI K 0
		RIPI K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		RIPI K 0 A_ChangeFlag("NOPAIN",0)
		RIPI K 0 A_StopSoundEx("SoundSlot7")
		RIPI K 0 A_Jump(256,1,7)
		RIPI K 7 A_Scream
        RIPI L 7
        RIPI M 7 A_NoBlocking
        RIPI NO 7
        RIPI P -1 
        Stop
		RIP2 K 7 A_Scream
        RIP2 L 7
        RIP2 M 7 A_NoBlocking
        RIP2 NO 7
		RIP2 P 1 A_GiveInventory("Death2Check",1)
		RIP2 P -1 
        Stop
    Death.Damage_Shrinker:
        RIPI A 0
		RIPI A 0 A_StopSoundEx("Body")
		RIPI A 0 A_StopSoundEx("SoundSlot7")
		RIPI A 0 A_ChangeFlag("NOPAIN",0)
        RIPI A 10 A_PlaySound("Shrinker/Shrink")
		RIPI A 1 A_SetScale(0.70,0.70)
        RIPI A 1 A_SetScale(0.68,0.68)
        RIPI A 1 A_SetScale(0.66,0.66)
        RIPI A 1 A_SetScale(0.64,0.64)
        RIPI A 1 A_SetScale(0.62,0.62)
        RIPI A 1 A_SetScale(0.60,0.60)
        RIPI A 1 A_SetScale(0.58,0.58)
        RIPI A 1 A_SetScale(0.56,0.56)
        RIPI A 1 A_SetScale(0.54,0.54)
        RIPI A 1 A_SetScale(0.52,0.52)
        RIPI A 1 A_SetScale(0.50,0.50)
        RIPI A 1 A_SetScale(0.48,0.48)
        RIPI A 1 A_SetScale(0.46,0.46)
        RIPI A 1 A_SetScale(0.44,0.44)
        RIPI A 1 A_SetScale(0.42,0.42)
        RIPI A 1 A_SetScale(0.40,0.40)
        RIPI A 1 A_SetScale(0.38,0.38)
        RIPI A 1 A_SetScale(0.36,0.36)
        RIPI A 1 A_SetScale(0.34,0.34)
        RIPI A 1 A_SetScale(0.32,0.32)
        RIPI A 1 A_SetScale(0.30,0.30)
        RIPI A 1 A_SetScale(0.28,0.28)
        RIPI A 1 A_SetScale(0.26,0.26)
        RIPI A 1 A_SetScale(0.24,0.24)
        RIPI A 1 A_SetScale(0.22,0.22)
        RIPI A 1 A_SetScale(0.20,0.20)
		RIPI A 0 A_SpawnItemEx("Riot Pig Cop Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
    Death.Damage_Explosion:
	Death.Damage_BigShock:
	Death.Damage_BigThunder:
		RIPI A 0
		RIPI A 0 A_ChangeFlag("NOPAIN",0)
		RIPI A 0 A_StopSoundEx("Body")
		RIPI A 0 A_StopSoundEx("SoundSlot7")
        RIPI A 0 A_PlaySound("Gib/Explode",5)
        RIPI A 0 A_NoBlocking
        RIPI AAA 0 A_SpawnDebris("DukeGibs1")
        RIPI AAA 0 A_SpawnDebris("DukeGibs2")
		RIPI AAA 0 A_SpawnDebris("DukeGibs3")
        RIPI AAA 0 A_SpawnDebris("DukeGibs4")
        RIPI AAA 0 A_SpawnDebris("DukeGibs5")		
        RIPI AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    Death.Damage_Expander:
        RIPI A 0
		RIPI A 0 A_StopSoundEx("Body")
		RIPI A 0 A_StopSoundEx("SoundSlot7")
		RIPI A 1 A_PlaySound("Expander/Expand",5)
		RIPI A 1 A_SetScale(0.71,0.71)
        RIPI A 1 A_SetScale(0.72,0.72)
		RIPI A 1 A_SetScale(0.73,0.73)
		RIPI A 1 A_SetScale(0.74,0.74)
		RIPI A 1 A_SetScale(0.75,0.75)
		RIPI A 1 A_SetScale(0.76,0.76)
		RIPI A 1 A_SetScale(0.77,0.77)
		RIPI A 1 A_SetScale(0.78,0.78)
		RIPI A 1 A_SetScale(0.79,0.79)
		RIPI A 1 A_SetScale(0.80,0.80)
		RIPI A 1 A_SetScale(0.81,0.81)
		RIPI A 1 A_SetScale(0.82,0.82)
		RIPI A 1 A_SetScale(0.83,0.83)
		RIPI A 1 A_SetScale(0.84,0.84)
		RIPI A 1 A_SetScale(0.85,0.85)
		RIPI A 1 A_SetScale(0.86,0.86)
		RIPI A 1 A_SetScale(0.87,0.87)
		RIPI A 1 A_SetScale(0.88,0.88)
		RIPI A 1 A_SetScale(0.89,0.89)
		RIPI A 1 A_SetScale(0.90,0.90)
		RIPI A 1 A_SetScale(0.91,0.91)
		RIPI A 1 A_SetScale(0.92,0.92)
		RIPI A 1 A_SetScale(0.93,0.93)
		RIPI A 1 A_SetScale(0.94,0.94)
		RIPI A 1 A_SetScale(0.95,0.95)
		RIPI A 1 A_SetScale(0.96,0.96)
		RIPI A 1 A_SetScale(0.97,0.97)
		RIPI A 1 A_SetScale(0.98,0.98)
		RIPI A 1 A_SetScale(0.99,0.99)
		RIPI A 1 A_SetScale(1.00,1.00)
		RIPI A 1 A_SetScale(1.01,1.01)
		RIPI A 1 A_SetScale(1.02,1.02)
		RIPI A 1 A_SetScale(1.03,1.03)
		RIPI A 1 A_SetScale(1.04,1.04)
		RIPI A 1 A_SetScale(1.05,1.05)
		RIPI A 1 A_SetScale(1.06,1.06)
		RIPI A 1 A_SetScale(1.07,1.07)
		RIPI A 1 A_SetScale(1.08,1.08)
		RIPI A 1 A_SetScale(1.09,1.09)
		RIPI A 1 A_SetScale(1.10,1.10)
		RIPI A 1 A_SetScale(1.11,1.11)
		RIPI A 1 A_SetScale(1.12,1.12)
		RIPI A 1 A_SetScale(1.13,1.13)
		RIPI A 1 A_SetScale(1.14,1.14)
        RIPI A 25 A_SetScale(1.15,1.15)
        RIPI A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	Burn:
	    RIPF K 0
		RIPF K 0 A_ChangeFlag("NOPAIN",0)
		RIPF K 0 A_StopSoundEx("SoundSlot7")
		RIPF K 0 A_Jump(256,1,39)
		RIPF K 0 A_Scream
		RIPF KKKKKKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        RIPF LLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,42),0,0,1,0,32)
        RIPF M 0 A_NoBlocking
		RIPF MMMMMMM 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		RIPF NNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
        RIPF OOOOOO 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,18),0,0,1,0,32)
		RIPF O 1 Bright A_SpawnItemEx("FireintheFloor")
        RIPF P -1
        Stop
		RIF2 K 0 A_Scream
		RIF2 KKKKKKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        RIF2 LLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,42),0,0,1,0,32)
        RIF2 M 0 A_NoBlocking
		RIF2 MMMMMMM 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		RIF2 NNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
        RIF2 OOOOOO 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,18),0,0,1,0,32)
		RIF2 O 1 Bright A_SpawnItemEx("FireintheFloor")
		RIF2 P 1 A_GiveInventory("Death2CheckFire",1)
		RIF2 P -1  
        Stop
	Raise:
	    TNT1 A 0 
	    TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_ChangeFlag("COUNTKILL",0)
		TNT1 A 0 A_ChangeFlag("SOLID",0)
	    RIPI P 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		RIPI P 0 A_JumpIfInventory("Death2Check",1,2)
		RIPI P 35
		Stop
		RIP2 P 0
		RIP2 P 35
		Stop
	Raise2:
		RIPF P 0
		RIPF P 0 A_JumpIfInventory("Death2CheckFire",1,2)
		RIPF P 35
		Stop
		RIF2 P 0
		RIF2 P 35
		Stop
        }
}

ACTOR "Riot Pig Cop Shrunken" 
{
    Health 30
    Radius 20
    Height 16
    Mass 0x7FFFFFFF
    Speed 3
    PainChance 128
    SeeSound "Pig/Sight"
    PainSound "Pig/Pain"
    DeathSound "Pig/Death"
    ActiveSound "Pig/Active"
	BloodColor "D1 0C 00" 
	Species "Alien"
    Scale 0.20
	DamageFactor "Damage_Foot", 5.0
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.0
	DamageFactor "Trip_Punch", 0.0
	Painchance "LaserShot", 256
	+ISMONSTER
	+SHOOTABLE
    +SOLID
	+NOTARGET
	+FRIGHTENED
    States
    {
    Spawn:
        RIPI A 0 
		RIPI A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		RIPI A 0 A_GiveInventory("ShrunkenCheck",1)
        RIPI AAAAAAAA 3 A_Look
        Loop
    See:
	    RIPI A 0 
	    RIPI A 0 A_ChangeFlag("NOPAIN",0)
		RIPI A 0 A_StopSoundEx("Body")
		RIPI A 0 A_StopSoundEx("SoundSlot7")
		RIPI A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		RIPI A 0 A_GiveInventory("ShrunkenCheck",1)
		RIPI AABB 3 A_Chase
		RIPI B 0 A_SpawnItem("AlienStep2",0,0,0,0)
		RIPI CCDD 3 A_Chase
		RIPI D 0 A_SpawnItem("AlienStep2",0,0,0,0)
        Loop
    Pain:
		RIPI Q 8 A_Pain
        Goto See 
	Pain.LaserShot:
	    RIPI Q 0 
		RIPI Q 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		RIPI Q 0 HealThing(2)
		Goto See
	Pain.Radial:
        RIPI Q 0
        RIPI Q 0 HealThing(2)
        Goto See
	Restore:
	    RIPI A 0
		RIPI A 0 A_StopSoundEx("Body")
		RIPI A 0 A_StopSoundEx("SoundSlot7")
		RIPI A 0 A_ChangeFlag("NOPAIN",0)
        RIPI A 10 A_PlaySound("Shrinker/Shrink")
		RIPI A 1 A_SetScale(0.20,0.20)
        RIPI A 1 A_SetScale(0.22,0.22)
        RIPI A 1 A_SetScale(0.26,0.24)
        RIPI A 1 A_SetScale(0.24,0.24)
        RIPI A 1 A_SetScale(0.28,0.28)
        RIPI A 1 A_SetScale(0.30,0.30)
        RIPI A 1 A_SetScale(0.32,0.32)
        RIPI A 1 A_SetScale(0.34,0.34)
        RIPI A 1 A_SetScale(0.36,0.36)
        RIPI A 1 A_SetScale(0.38,0.38)
        RIPI A 1 A_SetScale(0.40,0.40)
        RIPI A 1 A_SetScale(0.42,0.42)
        RIPI A 1 A_SetScale(0.44,0.44)
        RIPI A 1 A_SetScale(0.46,0.46)
        RIPI A 1 A_SetScale(0.48,0.48)
        RIPI A 1 A_SetScale(0.50,0.50)
        RIPI A 1 A_SetScale(0.52,0.52)
        RIPI A 1 A_SetScale(0.54,0.54)
        RIPI A 1 A_SetScale(0.56,0.56)
        RIPI A 1 A_SetScale(0.58,0.58)
        RIPI A 1 A_SetScale(0.60,0.60)
        RIPI A 1 A_SetScale(0.62,0.62)
        RIPI A 1 A_SetScale(0.64,0.64)
        RIPI A 1 A_SetScale(0.66,0.66)
        RIPI A 1 A_SetScale(0.68,0.68)
        RIPI A 1 A_SetScale(0.70,0.70)
		RIPI A 0 A_SpawnItemEx("Riot Pig Cop",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    RIPI A 0
		RIPI A 0 A_StopSoundEx("Body")
		RIPI A 0 A_StopSoundEx("SoundSlot7")
		RIPI A 0 A_ChangeFlag("NOPAIN",0)
		RIPI A 0 A_Stop
        RIPI A 0 A_PlaySound("DukeNukem/DeathLittle",5)
        RIPI A 0 A_NoBlocking
        RIPI A 0 A_SpawnDebris("DukeGibs1")
        RIPI A 0 A_SpawnDebris("DukeGibs2")
		RIPI A 0 A_SpawnDebris("DukeGibs3")
        RIPI A 0 A_SpawnDebris("DukeGibs4")
        RIPI A 0 A_SpawnDebris("DukeGibs5")		
        RIPI AAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}